package com.ld.security.server.admin.modules.ge.api;


import com.ld.security.common.mybatis.base.vo.DataVo;
import com.ld.security.common.mybatis.base.vo.ListVo;
import com.ld.security.common.tomcat.anno.AjaxLogKey;
import  com.ld.security.server.admin.modules.ge.entity.GeLinkEntity;
import com.ld.security.common.tomcat.base.api.SuperApi;
import com.ld.security.server.admin.modules.ge.po.GeLinkMapPo;
import com.ld.security.server.admin.modules.ge.service.IGeLinkService;
import com.ld.security.server.admin.modules.ge.vo.map.GeLinkMapVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;
import java.util.List;


@RestController
@Api(tags="关联表Api管理")
@RequestMapping("/api/geLink")
public class GeLinkApi  extends SuperApi<GeLinkEntity>{

        @Autowired
        IGeLinkService iGeLinkService;

    @AjaxLogKey
        @ApiOperation("获得链接关系")
        @RequestMapping(value = "compLink",method = RequestMethod.POST)
  public DataVo compLink(@RequestBody @Valid GeLinkMapPo po) {

    GeLinkMapVo vo = iGeLinkService.getGeLinkMap(po.getDataSourceId());

    List<GeLinkEntity> list = vo.compLink(po.getTableX(), po.getTableY());

    //备份
    for (GeLinkEntity geLinkEntity : list) {
      geLinkEntity.setId("");
    }

    return DataVo.of(ListVo.of(list));
}

        }
